{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "button": false,
    "deletable": true,
    "new_sheet": false,
    "run_control": {
     "read_only": false
    }
   },
   "source": [
    "<a href=\"https://www.bigdatauniversity.com\"><img src=\"https://ibm.box.com/shared/static/cw2c7r3o20w9zn8gkecaeyjhgw3xdgbj.png\" width=\"400\" align=\"center\"></a>\n",
    "\n",
    "<h1><center>Simple Linear Regression</center></h1>\n",
    "\n",
    "\n",
    "<h4>About this Notebook</h4>\n",
    "In this notebook, we learn how to use scikit-learn to implement simple linear regression. We download a dataset that is related to fuel consumption and Carbon dioxide emission of cars. Then, we split our data into training and test sets, create a model using training set, evaluate your model using test set, and finally use model to predict unknown value.\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h1>Table of contents</h1>\n",
    "\n",
    "<div class=\"alert alert-block alert-info\" style=\"margin-top: 20px\">\n",
    "    <ol>\n",
    "        <li><a href=\"#understanding_data\">Understanding the Data</a></li>\n",
    "        <li><a href=\"#reading_data\">Reading the data in</a></li>\n",
    "        <li><a href=\"#data_exploration\">Data Exploration</a></li>\n",
    "        <li><a href=\"#simple_regression\">Simple Regression Model</a></li>\n",
    "    </ol>\n",
    "</div>\n",
    "<br>\n",
    "<hr>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "button": false,
    "deletable": true,
    "new_sheet": false,
    "run_control": {
     "read_only": false
    }
   },
   "source": [
    "### Importing Needed packages"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "button": false,
    "deletable": true,
    "new_sheet": false,
    "run_control": {
     "read_only": false
    }
   },
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import pandas as pd\n",
    "import pylab as pl\n",
    "import numpy as np\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "button": false,
    "deletable": true,
    "new_sheet": false,
    "run_control": {
     "read_only": false
    }
   },
   "source": [
    "### Downloading Data\n",
    "To download the data, we will use !wget to download it from IBM Object Storage."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "button": false,
    "deletable": true,
    "new_sheet": false,
    "run_control": {
     "read_only": false
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "--2019-10-01 02:02:57--  https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/ML0101ENv3/labs/FuelConsumptionCo2.csv\n",
      "Resolving s3-api.us-geo.objectstorage.softlayer.net (s3-api.us-geo.objectstorage.softlayer.net)... 67.228.254.193\n",
      "Connecting to s3-api.us-geo.objectstorage.softlayer.net (s3-api.us-geo.objectstorage.softlayer.net)|67.228.254.193|:443... connected.\n",
      "HTTP request sent, awaiting response... 200 OK\n",
      "Length: 72629 (71K) [text/csv]\n",
      "Saving to: ‘FuelConsumption.csv’\n",
      "\n",
      "FuelConsumption.csv 100%[===================>]  70.93K  --.-KB/s    in 0.04s   \n",
      "\n",
      "2019-10-01 02:02:57 (1.59 MB/s) - ‘FuelConsumption.csv’ saved [72629/72629]\n",
      "\n"
     ]
    }
   ],
   "source": [
    "!wget -O FuelConsumption.csv https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/ML0101ENv3/labs/FuelConsumptionCo2.csv"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "__Did you know?__ When it comes to Machine Learning, you will likely be working with large datasets. As a business, where can you host your data? IBM is offering a unique opportunity for businesses, with 10 Tb of IBM Cloud Object Storage: [Sign up now for free](http://cocl.us/ML0101EN-IBM-Offer-CC)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "button": false,
    "deletable": true,
    "new_sheet": false,
    "run_control": {
     "read_only": false
    }
   },
   "source": [
    "\n",
    "<h2 id=\"understanding_data\">Understanding the Data</h2>\n",
    "\n",
    "### `FuelConsumption.csv`:\n",
    "We have downloaded a fuel consumption dataset, **`FuelConsumption.csv`**, which contains model-specific fuel consumption ratings and estimated carbon dioxide emissions for new light-duty vehicles for retail sale in Canada. [Dataset source](http://open.canada.ca/data/en/dataset/98f1a129-f628-4ce4-b24d-6f16bf24dd64)\n",
    "\n",
    "- **MODELYEAR** e.g. 2014\n",
    "- **MAKE** e.g. Acura\n",
    "- **MODEL** e.g. ILX\n",
    "- **VEHICLE CLASS** e.g. SUV\n",
    "- **ENGINE SIZE** e.g. 4.7\n",
    "- **CYLINDERS** e.g 6\n",
    "- **TRANSMISSION** e.g. A6\n",
    "- **FUEL CONSUMPTION in CITY(L/100 km)** e.g. 9.9\n",
    "- **FUEL CONSUMPTION in HWY (L/100 km)** e.g. 8.9\n",
    "- **FUEL CONSUMPTION COMB (L/100 km)** e.g. 9.2\n",
    "- **CO2 EMISSIONS (g/km)** e.g. 182   --> low --> 0\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "button": false,
    "deletable": true,
    "new_sheet": false,
    "run_control": {
     "read_only": false
    }
   },
   "source": [
    "<h2 id=\"reading_data\">Reading the data in</h2>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "button": false,
    "deletable": true,
    "new_sheet": false,
    "run_control": {
     "read_only": false
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>MODELYEAR</th>\n",
       "      <th>MAKE</th>\n",
       "      <th>MODEL</th>\n",
       "      <th>VEHICLECLASS</th>\n",
       "      <th>ENGINESIZE</th>\n",
       "      <th>CYLINDERS</th>\n",
       "      <th>TRANSMISSION</th>\n",
       "      <th>FUELTYPE</th>\n",
       "      <th>FUELCONSUMPTION_CITY</th>\n",
       "      <th>FUELCONSUMPTION_HWY</th>\n",
       "      <th>FUELCONSUMPTION_COMB</th>\n",
       "      <th>FUELCONSUMPTION_COMB_MPG</th>\n",
       "      <th>CO2EMISSIONS</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>2014</td>\n",
       "      <td>ACURA</td>\n",
       "      <td>ILX</td>\n",
       "      <td>COMPACT</td>\n",
       "      <td>2.0</td>\n",
       "      <td>4</td>\n",
       "      <td>AS5</td>\n",
       "      <td>Z</td>\n",
       "      <td>9.9</td>\n",
       "      <td>6.7</td>\n",
       "      <td>8.5</td>\n",
       "      <td>33</td>\n",
       "      <td>196</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>2014</td>\n",
       "      <td>ACURA</td>\n",
       "      <td>ILX</td>\n",
       "      <td>COMPACT</td>\n",
       "      <td>2.4</td>\n",
       "      <td>4</td>\n",
       "      <td>M6</td>\n",
       "      <td>Z</td>\n",
       "      <td>11.2</td>\n",
       "      <td>7.7</td>\n",
       "      <td>9.6</td>\n",
       "      <td>29</td>\n",
       "      <td>221</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>2014</td>\n",
       "      <td>ACURA</td>\n",
       "      <td>ILX HYBRID</td>\n",
       "      <td>COMPACT</td>\n",
       "      <td>1.5</td>\n",
       "      <td>4</td>\n",
       "      <td>AV7</td>\n",
       "      <td>Z</td>\n",
       "      <td>6.0</td>\n",
       "      <td>5.8</td>\n",
       "      <td>5.9</td>\n",
       "      <td>48</td>\n",
       "      <td>136</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>2014</td>\n",
       "      <td>ACURA</td>\n",
       "      <td>MDX 4WD</td>\n",
       "      <td>SUV - SMALL</td>\n",
       "      <td>3.5</td>\n",
       "      <td>6</td>\n",
       "      <td>AS6</td>\n",
       "      <td>Z</td>\n",
       "      <td>12.7</td>\n",
       "      <td>9.1</td>\n",
       "      <td>11.1</td>\n",
       "      <td>25</td>\n",
       "      <td>255</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>2014</td>\n",
       "      <td>ACURA</td>\n",
       "      <td>RDX AWD</td>\n",
       "      <td>SUV - SMALL</td>\n",
       "      <td>3.5</td>\n",
       "      <td>6</td>\n",
       "      <td>AS6</td>\n",
       "      <td>Z</td>\n",
       "      <td>12.1</td>\n",
       "      <td>8.7</td>\n",
       "      <td>10.6</td>\n",
       "      <td>27</td>\n",
       "      <td>244</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   MODELYEAR   MAKE       MODEL VEHICLECLASS  ENGINESIZE  CYLINDERS  \\\n",
       "0       2014  ACURA         ILX      COMPACT         2.0          4   \n",
       "1       2014  ACURA         ILX      COMPACT         2.4          4   \n",
       "2       2014  ACURA  ILX HYBRID      COMPACT         1.5          4   \n",
       "3       2014  ACURA     MDX 4WD  SUV - SMALL         3.5          6   \n",
       "4       2014  ACURA     RDX AWD  SUV - SMALL         3.5          6   \n",
       "\n",
       "  TRANSMISSION FUELTYPE  FUELCONSUMPTION_CITY  FUELCONSUMPTION_HWY  \\\n",
       "0          AS5        Z                   9.9                  6.7   \n",
       "1           M6        Z                  11.2                  7.7   \n",
       "2          AV7        Z                   6.0                  5.8   \n",
       "3          AS6        Z                  12.7                  9.1   \n",
       "4          AS6        Z                  12.1                  8.7   \n",
       "\n",
       "   FUELCONSUMPTION_COMB  FUELCONSUMPTION_COMB_MPG  CO2EMISSIONS  \n",
       "0                   8.5                        33           196  \n",
       "1                   9.6                        29           221  \n",
       "2                   5.9                        48           136  \n",
       "3                  11.1                        25           255  \n",
       "4                  10.6                        27           244  "
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.read_csv(\"FuelConsumption.csv\")\n",
    "\n",
    "# take a look at the dataset\n",
    "df.head()\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "button": false,
    "deletable": true,
    "new_sheet": false,
    "run_control": {
     "read_only": false
    }
   },
   "source": [
    "<h2 id=\"data_exploration\">Data Exploration</h2>\n",
    "Lets first have a descriptive exploration on our data."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "button": false,
    "deletable": true,
    "new_sheet": false,
    "run_control": {
     "read_only": false
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>MODELYEAR</th>\n",
       "      <th>ENGINESIZE</th>\n",
       "      <th>CYLINDERS</th>\n",
       "      <th>FUELCONSUMPTION_CITY</th>\n",
       "      <th>FUELCONSUMPTION_HWY</th>\n",
       "      <th>FUELCONSUMPTION_COMB</th>\n",
       "      <th>FUELCONSUMPTION_COMB_MPG</th>\n",
       "      <th>CO2EMISSIONS</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>count</td>\n",
       "      <td>1067.0</td>\n",
       "      <td>1067.000000</td>\n",
       "      <td>1067.000000</td>\n",
       "      <td>1067.000000</td>\n",
       "      <td>1067.000000</td>\n",
       "      <td>1067.000000</td>\n",
       "      <td>1067.000000</td>\n",
       "      <td>1067.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>mean</td>\n",
       "      <td>2014.0</td>\n",
       "      <td>3.346298</td>\n",
       "      <td>5.794752</td>\n",
       "      <td>13.296532</td>\n",
       "      <td>9.474602</td>\n",
       "      <td>11.580881</td>\n",
       "      <td>26.441425</td>\n",
       "      <td>256.228679</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>std</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.415895</td>\n",
       "      <td>1.797447</td>\n",
       "      <td>4.101253</td>\n",
       "      <td>2.794510</td>\n",
       "      <td>3.485595</td>\n",
       "      <td>7.468702</td>\n",
       "      <td>63.372304</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>min</td>\n",
       "      <td>2014.0</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>4.600000</td>\n",
       "      <td>4.900000</td>\n",
       "      <td>4.700000</td>\n",
       "      <td>11.000000</td>\n",
       "      <td>108.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>25%</td>\n",
       "      <td>2014.0</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>10.250000</td>\n",
       "      <td>7.500000</td>\n",
       "      <td>9.000000</td>\n",
       "      <td>21.000000</td>\n",
       "      <td>207.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>50%</td>\n",
       "      <td>2014.0</td>\n",
       "      <td>3.400000</td>\n",
       "      <td>6.000000</td>\n",
       "      <td>12.600000</td>\n",
       "      <td>8.800000</td>\n",
       "      <td>10.900000</td>\n",
       "      <td>26.000000</td>\n",
       "      <td>251.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>75%</td>\n",
       "      <td>2014.0</td>\n",
       "      <td>4.300000</td>\n",
       "      <td>8.000000</td>\n",
       "      <td>15.550000</td>\n",
       "      <td>10.850000</td>\n",
       "      <td>13.350000</td>\n",
       "      <td>31.000000</td>\n",
       "      <td>294.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>max</td>\n",
       "      <td>2014.0</td>\n",
       "      <td>8.400000</td>\n",
       "      <td>12.000000</td>\n",
       "      <td>30.200000</td>\n",
       "      <td>20.500000</td>\n",
       "      <td>25.800000</td>\n",
       "      <td>60.000000</td>\n",
       "      <td>488.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       MODELYEAR   ENGINESIZE    CYLINDERS  FUELCONSUMPTION_CITY  \\\n",
       "count     1067.0  1067.000000  1067.000000           1067.000000   \n",
       "mean      2014.0     3.346298     5.794752             13.296532   \n",
       "std          0.0     1.415895     1.797447              4.101253   \n",
       "min       2014.0     1.000000     3.000000              4.600000   \n",
       "25%       2014.0     2.000000     4.000000             10.250000   \n",
       "50%       2014.0     3.400000     6.000000             12.600000   \n",
       "75%       2014.0     4.300000     8.000000             15.550000   \n",
       "max       2014.0     8.400000    12.000000             30.200000   \n",
       "\n",
       "       FUELCONSUMPTION_HWY  FUELCONSUMPTION_COMB  FUELCONSUMPTION_COMB_MPG  \\\n",
       "count          1067.000000           1067.000000               1067.000000   \n",
       "mean              9.474602             11.580881                 26.441425   \n",
       "std               2.794510              3.485595                  7.468702   \n",
       "min               4.900000              4.700000                 11.000000   \n",
       "25%               7.500000              9.000000                 21.000000   \n",
       "50%               8.800000             10.900000                 26.000000   \n",
       "75%              10.850000             13.350000                 31.000000   \n",
       "max              20.500000             25.800000                 60.000000   \n",
       "\n",
       "       CO2EMISSIONS  \n",
       "count   1067.000000  \n",
       "mean     256.228679  \n",
       "std       63.372304  \n",
       "min      108.000000  \n",
       "25%      207.000000  \n",
       "50%      251.000000  \n",
       "75%      294.000000  \n",
       "max      488.000000  "
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# summarize the data\n",
    "df.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(1067, 13)"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Lets select some features to explore more."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "button": false,
    "deletable": true,
    "new_sheet": false,
    "run_control": {
     "read_only": false
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>ENGINESIZE</th>\n",
       "      <th>CYLINDERS</th>\n",
       "      <th>FUELCONSUMPTION_COMB</th>\n",
       "      <th>CO2EMISSIONS</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>4</td>\n",
       "      <td>8.5</td>\n",
       "      <td>196</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>2.4</td>\n",
       "      <td>4</td>\n",
       "      <td>9.6</td>\n",
       "      <td>221</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>1.5</td>\n",
       "      <td>4</td>\n",
       "      <td>5.9</td>\n",
       "      <td>136</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>3.5</td>\n",
       "      <td>6</td>\n",
       "      <td>11.1</td>\n",
       "      <td>255</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>3.5</td>\n",
       "      <td>6</td>\n",
       "      <td>10.6</td>\n",
       "      <td>244</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>5</td>\n",
       "      <td>3.5</td>\n",
       "      <td>6</td>\n",
       "      <td>10.0</td>\n",
       "      <td>230</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>6</td>\n",
       "      <td>3.5</td>\n",
       "      <td>6</td>\n",
       "      <td>10.1</td>\n",
       "      <td>232</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>7</td>\n",
       "      <td>3.7</td>\n",
       "      <td>6</td>\n",
       "      <td>11.1</td>\n",
       "      <td>255</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>8</td>\n",
       "      <td>3.7</td>\n",
       "      <td>6</td>\n",
       "      <td>11.6</td>\n",
       "      <td>267</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   ENGINESIZE  CYLINDERS  FUELCONSUMPTION_COMB  CO2EMISSIONS\n",
       "0         2.0          4                   8.5           196\n",
       "1         2.4          4                   9.6           221\n",
       "2         1.5          4                   5.9           136\n",
       "3         3.5          6                  11.1           255\n",
       "4         3.5          6                  10.6           244\n",
       "5         3.5          6                  10.0           230\n",
       "6         3.5          6                  10.1           232\n",
       "7         3.7          6                  11.1           255\n",
       "8         3.7          6                  11.6           267"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cdf = df[['ENGINESIZE','CYLINDERS','FUELCONSUMPTION_COMB','CO2EMISSIONS']]\n",
    "cdf.head(9)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "we can plot each of these features:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "button": false,
    "deletable": true,
    "new_sheet": false,
    "run_control": {
     "read_only": false
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "viz = cdf[['CYLINDERS','ENGINESIZE','CO2EMISSIONS','FUELCONSUMPTION_COMB']]\n",
    "viz.hist()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>CYLINDERS</th>\n",
       "      <th>ENGINESIZE</th>\n",
       "      <th>CO2EMISSIONS</th>\n",
       "      <th>FUELCONSUMPTION_COMB</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>2.0</td>\n",
       "      <td>196</td>\n",
       "      <td>8.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "      <td>2.4</td>\n",
       "      <td>221</td>\n",
       "      <td>9.6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>4</td>\n",
       "      <td>1.5</td>\n",
       "      <td>136</td>\n",
       "      <td>5.9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>6</td>\n",
       "      <td>3.5</td>\n",
       "      <td>255</td>\n",
       "      <td>11.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>6</td>\n",
       "      <td>3.5</td>\n",
       "      <td>244</td>\n",
       "      <td>10.6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1062</td>\n",
       "      <td>6</td>\n",
       "      <td>3.0</td>\n",
       "      <td>271</td>\n",
       "      <td>11.8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1063</td>\n",
       "      <td>6</td>\n",
       "      <td>3.2</td>\n",
       "      <td>264</td>\n",
       "      <td>11.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1064</td>\n",
       "      <td>6</td>\n",
       "      <td>3.0</td>\n",
       "      <td>271</td>\n",
       "      <td>11.8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1065</td>\n",
       "      <td>6</td>\n",
       "      <td>3.2</td>\n",
       "      <td>260</td>\n",
       "      <td>11.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1066</td>\n",
       "      <td>6</td>\n",
       "      <td>3.2</td>\n",
       "      <td>294</td>\n",
       "      <td>12.8</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1067 rows × 4 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "      CYLINDERS  ENGINESIZE  CO2EMISSIONS  FUELCONSUMPTION_COMB\n",
       "0             4         2.0           196                   8.5\n",
       "1             4         2.4           221                   9.6\n",
       "2             4         1.5           136                   5.9\n",
       "3             6         3.5           255                  11.1\n",
       "4             6         3.5           244                  10.6\n",
       "...         ...         ...           ...                   ...\n",
       "1062          6         3.0           271                  11.8\n",
       "1063          6         3.2           264                  11.5\n",
       "1064          6         3.0           271                  11.8\n",
       "1065          6         3.2           260                  11.3\n",
       "1066          6         3.2           294                  12.8\n",
       "\n",
       "[1067 rows x 4 columns]"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "viz"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": true,
    "jupyter": {
     "outputs_hidden": true
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "\u001b[0;31mSignature:\u001b[0m\n",
       "\u001b[0mviz\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mhist\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0mcolumn\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0mby\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0mgrid\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0mxlabelsize\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0mxrot\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0mylabelsize\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0myrot\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0max\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0msharex\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mFalse\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0msharey\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mFalse\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0mfigsize\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0mlayout\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0mbins\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m10\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0;34m**\u001b[0m\u001b[0mkwds\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
       "\u001b[0;31mDocstring:\u001b[0m\n",
       "Make a histogram of the DataFrame's.\n",
       "\n",
       "A `histogram`_ is a representation of the distribution of data.\n",
       "This function calls :meth:`matplotlib.pyplot.hist`, on each series in\n",
       "the DataFrame, resulting in one histogram per column.\n",
       "\n",
       ".. _histogram: https://en.wikipedia.org/wiki/Histogram\n",
       "\n",
       "Parameters\n",
       "----------\n",
       "data : DataFrame\n",
       "    The pandas object holding the data.\n",
       "column : string or sequence\n",
       "    If passed, will be used to limit data to a subset of columns.\n",
       "by : object, optional\n",
       "    If passed, then used to form histograms for separate groups.\n",
       "grid : bool, default True\n",
       "    Whether to show axis grid lines.\n",
       "xlabelsize : int, default None\n",
       "    If specified changes the x-axis label size.\n",
       "xrot : float, default None\n",
       "    Rotation of x axis labels. For example, a value of 90 displays the\n",
       "    x labels rotated 90 degrees clockwise.\n",
       "ylabelsize : int, default None\n",
       "    If specified changes the y-axis label size.\n",
       "yrot : float, default None\n",
       "    Rotation of y axis labels. For example, a value of 90 displays the\n",
       "    y labels rotated 90 degrees clockwise.\n",
       "ax : Matplotlib axes object, default None\n",
       "    The axes to plot the histogram on.\n",
       "sharex : bool, default True if ax is None else False\n",
       "    In case subplots=True, share x axis and set some x axis labels to\n",
       "    invisible; defaults to True if ax is None otherwise False if an ax\n",
       "    is passed in.\n",
       "    Note that passing in both an ax and sharex=True will alter all x axis\n",
       "    labels for all subplots in a figure.\n",
       "sharey : bool, default False\n",
       "    In case subplots=True, share y axis and set some y axis labels to\n",
       "    invisible.\n",
       "figsize : tuple\n",
       "    The size in inches of the figure to create. Uses the value in\n",
       "    `matplotlib.rcParams` by default.\n",
       "layout : tuple, optional\n",
       "    Tuple of (rows, columns) for the layout of the histograms.\n",
       "bins : integer or sequence, default 10\n",
       "    Number of histogram bins to be used. If an integer is given, bins + 1\n",
       "    bin edges are calculated and returned. If bins is a sequence, gives\n",
       "    bin edges, including left edge of first bin and right edge of last\n",
       "    bin. In this case, bins is returned unmodified.\n",
       "**kwds\n",
       "    All other plotting keyword arguments to be passed to\n",
       "    :meth:`matplotlib.pyplot.hist`.\n",
       "\n",
       "Returns\n",
       "-------\n",
       "matplotlib.AxesSubplot or numpy.ndarray of them\n",
       "\n",
       "See Also\n",
       "--------\n",
       "matplotlib.pyplot.hist : Plot a histogram using matplotlib.\n",
       "\n",
       "Examples\n",
       "--------\n",
       "\n",
       ".. plot::\n",
       "    :context: close-figs\n",
       "\n",
       "    This example draws a histogram based on the length and width of\n",
       "    some animals, displayed in three bins\n",
       "\n",
       "    >>> df = pd.DataFrame({\n",
       "    ...     'length': [1.5, 0.5, 1.2, 0.9, 3],\n",
       "    ...     'width': [0.7, 0.2, 0.15, 0.2, 1.1]\n",
       "    ...     }, index= ['pig', 'rabbit', 'duck', 'chicken', 'horse'])\n",
       "    >>> hist = df.hist(bins=3)\n",
       "\u001b[0;31mFile:\u001b[0m      ~/conda/envs/python/lib/python3.6/site-packages/pandas/plotting/_core.py\n",
       "\u001b[0;31mType:\u001b[0m      method\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "viz.hist?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now, lets plot each of these features vs the Emission, to see how linear is their relation:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "button": false,
    "deletable": true,
    "new_sheet": false,
    "run_control": {
     "read_only": false
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(cdf.FUELCONSUMPTION_COMB, cdf.CO2EMISSIONS,  color='blue')\n",
    "plt.xlabel(\"FUELCONSUMPTION_COMB\")\n",
    "plt.ylabel(\"Emission\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "button": false,
    "deletable": true,
    "new_sheet": false,
    "run_control": {
     "read_only": false
    },
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(cdf.ENGINESIZE, cdf.CO2EMISSIONS,  color='blue')\n",
    "plt.xlabel(\"Engine size\")\n",
    "plt.ylabel(\"Emission\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Practice\n",
    "plot __CYLINDER__ vs the Emission, to see how linear is their relation:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "button": false,
    "deletable": true,
    "new_sheet": false,
    "run_control": {
     "read_only": false
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAEHCAYAAABBW1qbAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAc8ElEQVR4nO3df3Bd9Xnn8fcHCTs4kPJLUONfcokha5PEyaresHRSgs3CEAaHnU3WWSVxG6aiCBbSdjfB690N+4e3zDYkYTMrUyWh9iRqHA9JiocSEixCs0lTWBkIYBkWd22MsIsFaQvBqRPLz/5xjq6u5Hvle22de650Pq+ZO+d8n/NDDxfbj875nvP9KiIwMzMDOCXvBMzMrHm4KJiZWYmLgpmZlbgomJlZiYuCmZmVuCiYmVlJa5Ynl7QXeAMYAY5ERIeks4FvAu3AXuAjEfH36f7rgBvS/W+NiO9Ndv5zzz032tvbs0rfzGxG2rFjx6sR0VZpW6ZFIfWBiHi1rH070B8Rd0q6PW1/RtJSYA2wDLgA2C7poogYqXbi9vZ2BgYGsszdzGzGkfRitW153D5aDWxO1zcDHyqLb4mIwxGxB9gNrMghPzOzwsq6KATwfUk7JHWlsfMj4gBAujwvjc8DXio7diiNmZlZg2R9++iyiNgv6TzgYUnPTbKvKsSOGYMjLS5dAAsXLpyaLM3MDMj4SiEi9qfLg8B3SG4HvSJpLkC6PJjuPgQsKDt8PrC/wjl7I6IjIjra2ir2k5iZ2QnKrChIequkM0bXgX8FPAtsA9amu60F7k/XtwFrJM2WtBhYAjyeVX5mZnasLK8Uzgd+JOmnJP+4/2VEPATcCVwp6QXgyrRNROwEtgKDwEPAzZM9eWRmxdDXB+3tcMopybKvL++MZjZN56GzOzo6wo+kms1cfX3Q1QWHDo3F5syB3l7o7Mwvr+lO0o6I6Ki0zW80m1nTWr9+fEGApL1+fT75FIGLgpk1rX376ovbyXNRMLOmVe2pcz+Nnh0XBTNrWhs2JH0I5ebMSeKWDRcFM2tanZ1Jp/KiRSAlS3cyZ6sRA+KZmZ2wzk4XgUbylYKZmZW4KJiZWYmLgpmZlbgomJlZiYuCmZmVuCiYmVmJi4KZmZW4KJiZWYmLgpmZlbgomJlZiYuCmZmVZF4UJLVIelLSA2n7DkkvS3oq/VxTtu86SbslPS/pqqxzMzOz8RoxIN5twC7gbWWxL0TE58p3krQUWAMsAy4Atku6yPM0m5k1TqZXCpLmAx8EvlLD7quBLRFxOCL2ALuBFVnmZ2Zm42V9++iLwKeBoxPit0h6WtK9ks5KY/OAl8r2GUpjZmbWIJkVBUnXAgcjYseETRuBC4HlwAHgrtFDKpwmKpy3S9KApIHh4eGpTNnMrPCyvFK4DLhO0l5gC3CFpK9HxCsRMRIRR4EvM3aLaAhYUHb8fGD/xJNGRG9EdERER1tbW4bpm5kVT2ZFISLWRcT8iGgn6UB+JCI+Jmlu2W7XA8+m69uANZJmS1oMLAEezyo/MzM7Vh7Tcf4PSctJbg3tBW4EiIidkrYCg8AR4GY/eWRm1lgNeXktIh6NiGvT9Y9HxDsj4l0RcV1EHCjbb0NEXBgRF0fEdxuRm1kz6uuD9nY45ZRk2deXd0ZWFHlcKZjZJPr64BOfgKPpM3svvpi0wRPYW/Y8zIVZk7nxxrGCMOro0SRuljUXBbMm8+ab9cXNppKLgpmZlbgomJlZiYuCmZmVuCiYNZmbbqovbjaVXBTMmkxPD6xcOT62cmUSN8v6HRYXBbMm09cHjzwyPvbII36BzZI/A11dybsrEcmyq2tq/2wo4piBSKeNjo6OGBgYyDsNsyk1ezb88pfHxmfNgsOHG5+PNY/29qQQTLRoEezdW/t5JO2IiI5K23ylYNZkKhWEyeJWHPv21Rc/ES4KZmbTxMKF9cVPhIuCmdk0sWEDzJkzPjZnThKfKi4KZtbUuruhtRWkZNndnXdG+enshN7epA9BSpa9vVM7UKJHSTWzptXdDRs3jrVHRsbaRX1Et7Mz29FyfaVgZk2rt7e+uJ08FwUza1ojVeZerBa3k5d5UZDUIulJSQ+k7bMlPSzphXR5Vtm+6yTtlvS8pKuyzs3MmltLS31xO3mNuFK4DdhV1r4d6I+IJUB/2kbSUmANsAy4GuiR5P/1ZgXW1VVf3E5epkVB0nzgg8BXysKrgc3p+mbgQ2XxLRFxOCL2ALuBFVnmZ9aMZs+uLz6TXXZZ8sRRudbWJG7ZyPpK4YvAp4HyyQXPj4gDAOnyvDQ+D3ipbL+hNGZWKNWGsijiEBfr18ORI+NjR44kcctGZkVB0rXAwYjYUeshFWLHDMwkqUvSgKSB4eHhk8rRrBmdUuVvZbX4TNaIYR1svCz/mF0GXCdpL7AFuELS14FXJM0FSJcH0/2HgAVlx88H9k88aUT0RkRHRHS0tbVlmL5ZPo4erS8+kzViWIfpZtmy5MW10c+yZVN7/syKQkSsi4j5EdFO0oH8SER8DNgGrE13Wwvcn65vA9ZImi1pMbAEeDyr/Mys+TViWIfpZNkyGBwcHxscnNrCkMcF6Z3AlZJeAK5M20TETmArMAg8BNwcEX4a2QrnnHPqi89knZ1w6aXjY5demu0bvc1sYkE4XvxENKQoRMSjEXFtuv5aRKyMiCXp8mdl+22IiAsj4uKI+G4jcjNrNnfffWz/wSmnJPGi6e6G/v7xsf7+Yo9/lLUCdl2ZNT9p8nZReJiLxnNRMGsyt9127DAOIyNJvGg8zMV4S5fWFz8RLgpmTea11+qLz2Qe5mK8nTvhtNPGx047LYlPFRcFM2taHuZivFWr4Be/GB/7xS+S+FTxfApm1rRG50zo7U1uGbW0JAWhqHMpTOx0P178RLgomFlT6+kpbhHIg28fmZlZiYuCmdk0sXJlffET4aJgZjZNbN9+bAFYuTKJTxUXBTOzaeSii8YeyW1pSdpTyR3NZmbTRHc3bNw41h4ZGWtPVWe8rxTMzKaJRgz74aJgZk2trw/a25NBAdvbk3ZRNWLYD98+MrOm1deXvKx26FDSfvHFsbeZizh89imnVJ5saSpn5fOVgpk1rfXrxwrCqEOHijtHcyNm5XNRMLOm5TmaG89FwcyaludobrzMioKkt0h6XNJPJe2U9N/S+B2SXpb0VPq5puyYdZJ2S3pe0lVZ5WZm08Pb315f3E5elh3Nh4ErIuLnkk4FfiRpdIrNL0TE58p3lrQUWAMsAy4Atku6yPM0mxXXo4/WF7eTl9mVQiR+njZPTT8xySGrgS0RcTgi9gC7gRVZ5Wdmzc8zr43XiEmHMu1TkNQi6SngIPBwRDyWbrpF0tOS7pV0VhqbB7xUdvhQGrMC6O6G1tZkLuLWVk/MbgnPvDZeIyYdyrQoRMRIRCwH5gMrJF0CbAQuBJYDB4C70t0rTU1+zJWFpC5JA5IGhoeHM8rcGmn01f3R3/5GX913YTDPvDZeTw/cdNP4sY9uumlq55tQxGR3dKbwB0mfBd4s70uQ1A48EBGXSFoHEBF/nG77HnBHRPyk2jk7OjpiYGAg07wte62tlW8HtLTAkSONzydvqvTrUapBf12bSne3Z16bapJ2RERHpW1ZPn3UJunMdP00YBXwnKS5ZbtdDzybrm8D1kiaLWkxsAR4PKv8rHn4vrFNpqcn+eUgIlm6IGQry6eP5gKbJbWQFJ+tEfGApK9JWk5ya2gvcCNAROyUtBUYBI4AN/vJo2Joaal+pWBmjZVZUYiIp4H3VIh/fJJjNgAbssrJmlNX1/jhgMvjZtZYfqPZctfTU3k2Kd8mMGs8FwXLXV8f/GTC4wQ/+Umxh0g2y4uLguXOI2GaNY+a+hQktQG/B7SXHxMRn8wmLSsSj4Rp1jxq7Wi+H/jfwHbATwTZlFq4MJk8pVLczBqr1qIwJyI+k2kmVljXXFP56aNrrjk2ZmbZqrVP4YHyIa7NptKDD9YXN7Ps1FoUbiMpDP8k6Y3083qWiVlxVLp1NFnczLJT0+2jiDgj60TMzCx/Nb/RLOk64P1p89GIeCCblMzMLC813T6SdCfJLaTB9HNbGjMzsxmk1iuFa4DlEXEUQNJm4Eng9qwSMzOzxqvnjeYzy9Z/baoTMTOz/NV6pfDHwJOSfkAyQ9r7gXWZZWVmZrmo9emjb0h6FPhNkqLwmYj4uywTMzOzxpv09pGkd6TL95JMmjMEvARckMbMzGwGOd6Vwh8CXcBdFbYFcMWUZ2RmZrmZtChERFe6/EC9J5b0FuCHwOz059wXEZ+VdDbwTZIRV/cCH4mIv0+PWQfcQDLo3q0R8b16f66ZmZ24Wt9T+LCkM9L1/yzp25KOmWpzgsPAFRHxbmA5cLWk95E8xtofEUuA/rSNpKXAGmAZcDXQk87vbGZmDVLrI6n/JSLekPRbwFXAZuCeyQ6IxM/T5qnpJ4DV6fGkyw+l66uBLRFxOCL2ALuBFTX/l5iZ2UmrtSiMzqHwQWBjRNwPzDreQZJaJD0FHAQejojHgPMj4gBAujwv3X0eSSf2qKE0ZmZmDVJrUXhZ0p8CHwEelDS7lmMjYiQilgPzgRWSLplkd1U6xTE7SV2SBiQNDA8P15i+mZnVotai8BHge8DVEfEPwNnAf6z1h6THPErSV/CKpLkA6fJgutsQsKDssPnA/grn6o2IjojoaGtrqzUFMzOrQa1FYS7wlxHxgqTLgQ8Dj092gKQ2SWem66cBq4DngG3A2nS3tSRTfZLG10iaLWkxsOR4P8PMzKZWrUXhW8CIpLcDXwUWA39+nGPmAj+Q9DTwf0j6FB4A7gSulPQCcGXaJiJ2AltJRmF9CLg5Imb0fNCrVoE09lm1Ku+MzKzoFHHMbftjd5KeiIj3Svo08IuI+JKkJyPieI+lZqqjoyMGBgbyTOGErVoF/f3HxleuhO3bG59PnlSpNylVwx/PGcffh2VN0o6I6Ki0rdYrhV9J+ijwCWB0cp1TpyK5oqpUECaLm5k1Qq1F4XeBS4ENEbEnvef/9ezSMjOzPNQ6SuogcGtZew9pX4CZmc0ckxYFSVsj4iOSnmH8OwMieWn5XZlmZ2ZmDXW8K4Xb0uW1WSdiZmb5O94oqaPDUbwIIOltxzvGatPSAiMVHrht8RCAZpajWkdJvVHSK8DTwI70Mz2fBW0SXV31xc3MGqHW3/r/A7AsIl7NMhkzM8tXrY+k/i1wKMtEiuaeKgOPV4ubmTVCrVcK64C/lvQYyeQ5AETErdUPsclUezPVb6yaWZ5qLQp/CjwCPAMczS4dMzPLU61F4UhE/GGmmZiZWe5q7VP4QTq5zVxJZ49+Ms3MzMwartYrhX+XLteVxQL4jalNx8zM8lTr2EeLs07EzMzyN+nto3T+hNH1D0/Y9t+zSsrMzPJxvD6FNWXr6yZsu3qKczEzs5wdryioynql9viN0gJJP5C0S9JOSbel8TskvSzpqfRzTdkx6yTtlvS8pKvq+i8xM7OTdrw+haiyXqk90RHgjyLiCUlnADskPZxu+0JEfK58Z0lLSa5MlgEXANslXTTT52k2m+icc+C11yrHzbJ2vCuFd0t6XdIbwLvS9dH2Oyc7MCIORMQT6fobwC5g3iSHrAa2RMThdBKf3cCKmv9LzGaIu++GWbPGx2bNSuJmWZu0KERES0S8LSLOiIjWdH20XfMczZLagfcAj6WhWyQ9LeleSWelsXnAS2WHDTF5ETGbkTo74YYbxoZRb2lJ2p2d+eZlxVDry2snTNLpwLeAT0XE68BG4EJgOXAAuGt01wqHH3OLKn2JbkDSwPDwcEZZm+Wnrw82bx6bb2NkJGn39eWblxVDpkVB0qkkBaEvIr4NEBGvRMRIRBwFvszYLaIhYEHZ4fOB/RPPGRG9EdERER1tbW1Zpm+Wi/Xr4dCEMYkPHUriZlnLrChIEvBVYFdEfL4sPrdst+uBZ9P1bcAaSbMlLQaWAI9nlZ9Zs9q3r7642VTKcmrNy4CPA89IeiqN/Sfgo5KWk9wa2gvcCBAROyVtBQZJnly62U8eWREtXAgvvlg5bpa1zIpCRPyIyv0ED05yzAZgQ1Y5mU0HGzYk07KW30KaMyeJm2Ut845mM6tPZyf09sKiRSAly95eP31kjeGiUHDd3dDamvzj09qatC1/nZ2wdy8cPZosXRCsUbLsU7Am190NGzeOtUdGxto9PfnkZGb58pVCgfX21hc3s5nPRaHARqo821UtbmYzn4tCgY0Oo1Br3MxmPheFArv44vriZjbzuSgU2OBgfXEzm/lcFMzMrMRFwczMSlwUzMysxEXBzMxKXBTMzKzERcHMzEpcFArsnHPqi5vZzOeiUGB33w2zZo2PzZqVxM2smFwUCqyzE+69d/y4/ffe62GazYosyzmaF0j6gaRdknZKui2Nny3pYUkvpMuzyo5ZJ2m3pOclXZVVbjamGcbtn3i1cry4mWUnyyuFI8AfRcQ/A94H3CxpKXA70B8RS4D+tE26bQ2wDLga6JHkodkK4IYb6oubWXYyKwoRcSAinkjX3wB2AfOA1cDmdLfNwIfS9dXAlog4HBF7gN3Aiqzys+bxYJVZu6vFzSw7DelTkNQOvAd4DDg/Ig5AUjiA89Ld5gEvlR02lMZshtu3r764mWUn86Ig6XTgW8CnIuL1yXatEIsK5+uSNCBpYHh4eKrStBwtXFhf3Myyk2lRkHQqSUHoi4hvp+FXJM1Nt88FDqbxIWBB2eHzgf0TzxkRvRHREREdbW1t2SVvDbNhA8yZMz42Z04SN7PGyvLpIwFfBXZFxOfLNm0D1qbra4H7y+JrJM2WtBhYAjyeVX7WPDo74dJLx8cuvdSPxprlIcsrhcuAjwNXSHoq/VwD3AlcKekF4Mq0TUTsBLYCg8BDwM0R4dmCC6C7G/r7x8f6+5O4mTWWIo65bT9tdHR0xMDAQN5pnBBV6kFJTeP/JSfE34VZY0naEREdlbb5jWYzMytxUTAzsxIXBTMzK3FRsNytXFlf3Myy46Jgudu+/dgCsHJlEjezxnJRsKZw0UXQkg5/2NKStM2s8VrzTsCsuxs2bhxrj4yMtXt68snJrKh8pWC56+2tL25m2XFRsNyNVHlvvVrczLLjomBmZiUuCmZmVuKiYLlbtKi+uJllx0XBcuf5FMyah4uC5a6zM3nSaNGiZMTURYuStudTMGs8v6dgTaGz00XArBn4SsHMzEpcFMzMrCTLOZrvlXRQ0rNlsTskvTxhes7Rbesk7Zb0vKSrssrLzMyqy/JKYRNwdYX4FyJiefp5EEDSUmANsCw9pkdSS4a5mZlZBZkVhYj4IfCzGndfDWyJiMMRsQfYDazIKjczM6ssjz6FWyQ9nd5eOiuNzQNeKttnKI1lYtWq5NHH0c+qVVn9JDOz6aXRRWEjcCGwHDgA3JXGVWHfqHQCSV2SBiQNDA8P153AqlXQ3z8+1t/f+MLQUuXmWLW4mVkjNLQoRMQrETESEUeBLzN2i2gIWFC263xgf5Vz9EZER0R0tLW11Z3DxIJwvHhWzj+/vriZWSM0tChImlvWvB4YfTJpG7BG0mxJi4ElwOONzK3R9lcsedXjZmaNkNkbzZK+AVwOnCtpCPgscLmk5SS3hvYCNwJExE5JW4FB4Ahwc0R4NH0zswbLrChExEcrhL86yf4bgMyHQFu6FAYHK8fNzIqucG80v/lmfXEzsyIpXFHYt6++uJlZkRSuKCxcWF/czKxIClcUmmVCF7+nYGbNqHBFoVkmdDnttPriZmaNUMhJdpphQpef/7y+uJlZIxTuSsHMzKpzUTAzsxIXBTMzK3FRMDOzEheFnJx+en1xM7NGcFHIyT33QOuEZ79aW5O4mVleXBRy0tkJmzaNf19i06b8H5U1s2JzUcjRj38MQ0MQkSx//OO8MzKzoivky2vNoLsbNm4ca4+MjLV7evLJyczMVwo5qdZ34D4FM8uTi0JOIuqLm5k1QmZFQdK9kg5KerYsdrakhyW9kC7PKtu2TtJuSc9LuiqrvMzMrLosrxQ2AVdPiN0O9EfEEqA/bSNpKbAGWJYe0yNpRg8i7fcUzKwZZVYUIuKHwM8mhFcDm9P1zcCHyuJbIuJwROwBdgMrssqtGfg9BTNrRo3uUzg/Ig4ApMvz0vg84KWy/YbS2Izl9xTMrBk1yyOpqhCr2OUqqQvoAlg4zefQbIZ5HczMyjX6SuEVSXMB0uXBND4ELCjbbz6wv9IJIqI3IjoioqOtrS3TZM3MiqbRRWEbsDZdXwvcXxZfI2m2pMXAEuDxBudmZlZ4md0+kvQN4HLgXElDwGeBO4Gtkm4A9gEfBoiInZK2AoPAEeDmiBjJKjczM6sss6IQER+tsmlllf03ABuyysfMzI7PbzSbmVmJYhqPqyBpGHgx7zymwLnAq3kn0ST8XYzn72OMv4vxTub7WBQRFZ/UmdZFYaaQNBARHXnn0Qz8XYzn72OMv4vxsvo+fPvIzMxKXBTMzKzERaE59OadQBPxdzGev48x/i7Gy+T7cJ+CmZmV+ErBzMxKXBRyJqlF0pOSHsg7l7xJOlPSfZKek7RL0qV555QXSX8gaaekZyV9Q9Jb8s6pkeqdpGsmq/Jd/En69+RpSd+RdOZU/TwXhfzdBuzKO4kmcTfwUES8A3g3Bf1eJM0DbgU6IuISoIVkEqoi2USNk3QVwCaO/S4eBi6JiHcB/xdYN1U/zEUhR5LmAx8EvpJ3LnmT9Dbg/cBXASLilxHxD/lmlatW4DRJrcAcqowaPFPVOUnXjFbpu4iI70fEkbT5NyQjS08JF4V8fRH4NHA070SawG8Aw8CfpbfTviLprXknlYeIeBn4HMmgkQeAf4yI7+ebVVOoNklX0X0S+O5UncxFISeSrgUORsSOvHNpEq3Ae4GNEfEe4E2Kc3tgnPRe+WpgMXAB8FZJH8s3K2tGktaTjCzdN1XndFHIz2XAdZL2AluAKyR9Pd+UcjUEDEXEY2n7PpIiUUSrgD0RMRwRvwK+DfzLnHNqBtUm6SokSWuBa4HOmMJ3C1wUchIR6yJifkS0k3QiPhIRhf1tMCL+DnhJ0sVpaCXJ/BpFtA94n6Q5kkTyXRSy032CapN0FY6kq4HPANdFxKGpPHezzNFsBvDvgT5Js4D/B/xuzvnkIiIek3Qf8ATJrYEnKdjbvPVM0jXTVfku1gGzgYeT3xv4m4j4/Sn5eX6j2czMRvn2kZmZlbgomJlZiYuCmZmVuCiYmVmJi4KZmZW4KFjhSfp1SVsk/a2kQUkPSrqoyr6Xj45oK+k6SXW9dS1pk6R/MxV5m2XB7ylYoaUvh30H2BwRa9LYcuB8ktEnq4qIbSQvVGWZX2vZwGdmmXNRsKL7APCriLhnNBART0n6mqSzI+J+AEl9wDeB10f3k/Q7JMNb3yJpU7qtA/h14NMRcV9adL4EXAHsAVR2/D8HPg+cDrwK/E5EHJD0KPDXJEOhbJO0j+SFpRGSwfHen8k3YYaLgtklQKVBCb8C/AFwv6RfIxl7aC3wW5Oca266/R0kVxD3AdcDFwPvJLn6GATulXQqSbFYHRHDkv4tsIFkxEuAMyPitwEkPQNcFREvT+VkKmaVuCiYVRARfyXpf0k6D/jXwLci4kg6pEA1fxERR4FBSeensfcD34iIEWC/pEfS+MUkBWl0mIIWkmGyR32zbP3HwCZJW0kGxzPLjIuCFd1OoFrH79eATpIBCz9ZZZ9yh8vWy6tHpbFkBOyMiGpTjr5ZOjji9yX9C5IJmZ6StDwiXqshH7O6+ekjK7pHgNmSfm80IOk3Jf02yTSInwKIiJ0neP4fAmvSubjnkvRhADwPtI3OQy3pVEnLKp1A0oUR8VhE/FeSvocFJ5iL2XH5SsEKLSJC0vXAF9PHS/8J2At8KiJekbQL+IuT+BHfIelkfobkaaa/Sn/uL9NHU/9n2mfRSjITX6Xi8yeSlpBcXfQDPz2JfMwm5VFSzaqQNIfkH/P3RsQ/5p2PWSP49pFZBZJWAc8BX3JBsCLxlYKZmZX4SsHMzEpcFMzMrMRFwczMSlwUzMysxEXBzMxKXBTMzKzk/wOpFADjzH/crQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# write your code here\n",
    "plt.scatter(cdf.CYLINDERS, cdf.CO2EMISSIONS, color='blue')\n",
    "plt.xlabel(\"Cylinders\")\n",
    "plt.ylabel(\"Emission\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "jupyter": {
     "source_hidden": true
    }
   },
   "source": [
    "Double-click __here__ for the solution.\n",
    "\n",
    "<!-- Your answer is below:\n",
    "    \n",
    "plt.scatter(cdf.CYLINDERS, cdf.CO2EMISSIONS, color='blue')\n",
    "plt.xlabel(\"Cylinders\")\n",
    "plt.ylabel(\"Emission\")\n",
    "plt.show()\n",
    "\n",
    "-->"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "button": false,
    "deletable": true,
    "new_sheet": false,
    "run_control": {
     "read_only": false
    }
   },
   "source": [
    "#### Creating train and test dataset\n",
    "Train/Test Split involves splitting the dataset into training and testing sets respectively, which are mutually exclusive. After which, you train with the training set and test with the testing set. \n",
    "This will provide a more accurate evaluation on out-of-sample accuracy because the testing dataset is not part of the dataset that have been used to train the data. It is more realistic for real world problems.\n",
    "\n",
    "This means that we know the outcome of each data point in this dataset, making it great to test with! And since this data has not been used to train the model, the model has no knowledge of the outcome of these data points. So, in essence, it is truly an out-of-sample testing.\n",
    "\n",
    "Lets split our dataset into train and test sets, 80% of the entire data for training, and the 20% for testing. We create a mask to select random rows using __np.random.rand()__ function: "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "button": false,
    "deletable": true,
    "new_sheet": false,
    "run_control": {
     "read_only": false
    }
   },
   "outputs": [],
   "source": [
    "msk = np.random.rand(len(df)) < 0.8\n",
    "train = cdf[msk]\n",
    "test = cdf[~msk]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "button": false,
    "deletable": true,
    "new_sheet": false,
    "run_control": {
     "read_only": false
    }
   },
   "source": [
    "<h2 id=\"simple_regression\">Simple Regression Model</h2>\n",
    "Linear Regression fits a linear model with coefficients $\\theta = (\\theta_1, ..., \\theta_n)$ to minimize the 'residual sum of squares' between the independent x in the dataset, and the dependent y by the linear approximation. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "button": false,
    "deletable": true,
    "new_sheet": false,
    "run_control": {
     "read_only": false
    }
   },
   "source": [
    "#### Train data distribution"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "button": false,
    "deletable": true,
    "new_sheet": false,
    "run_control": {
     "read_only": false
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(train.ENGINESIZE, train.CO2EMISSIONS,  color='blue')\n",
    "plt.xlabel(\"Engine size\")\n",
    "plt.ylabel(\"Emission\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "button": false,
    "deletable": true,
    "new_sheet": false,
    "run_control": {
     "read_only": false
    }
   },
   "source": [
    "#### Modeling\n",
    "Using sklearn package to model data."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "button": false,
    "deletable": true,
    "new_sheet": false,
    "run_control": {
     "read_only": false
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Coefficients:  [[38.9103296]]\n",
      "Intercept:  [125.71930627]\n"
     ]
    }
   ],
   "source": [
    "from sklearn import linear_model\n",
    "regr = linear_model.LinearRegression()\n",
    "train_x = np.asanyarray(train[['ENGINESIZE']])\n",
    "train_y = np.asanyarray(train[['CO2EMISSIONS']])\n",
    "regr.fit (train_x, train_y)\n",
    "# The coefficients\n",
    "print ('Coefficients: ', regr.coef_)\n",
    "print ('Intercept: ',regr.intercept_)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As mentioned before, __Coefficient__ and __Intercept__ in the simple linear regression, are the parameters of the fit line. \n",
    "Given that it is a simple linear regression, with only 2 parameters, and knowing that the parameters are the intercept and slope of the line, sklearn can estimate them directly from our data. \n",
    "Notice that all of the data must be available to traverse and calculate the parameters.\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "button": false,
    "deletable": true,
    "new_sheet": false,
    "run_control": {
     "read_only": false
    }
   },
   "source": [
    "#### Plot outputs"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "we can plot the fit line over the data:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "button": false,
    "deletable": true,
    "new_sheet": false,
    "run_control": {
     "read_only": false
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, 'Emission')"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(train.ENGINESIZE, train.CO2EMISSIONS,  color='blue')\n",
    "plt.plot(train_x, regr.coef_[0][0]*train_x + regr.intercept_[0], '-r')\n",
    "plt.xlabel(\"Engine size\")\n",
    "plt.ylabel(\"Emission\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "button": false,
    "deletable": true,
    "new_sheet": false,
    "run_control": {
     "read_only": false
    }
   },
   "source": [
    "#### Evaluation\n",
    "we compare the actual values and predicted values to calculate the accuracy of a regression model. Evaluation metrics provide a key role in the development of a model, as it provides insight to areas that require improvement.\n",
    "\n",
    "There are different model evaluation metrics, lets use MSE here to calculate the accuracy of our model based on the test set: \n",
    "<ul>\n",
    "    <li> Mean absolute error: It is the mean of the absolute value of the errors. This is the easiest of the metrics to understand since it’s just average error.</li>\n",
    "    <li> Mean Squared Error (MSE): Mean Squared Error (MSE) is the mean of the squared error. It’s more popular than Mean absolute error because the focus is geared more towards large errors. This is due to the squared term exponentially increasing larger errors in comparison to smaller ones.</li>\n",
    "    <li> Root Mean Squared Error (RMSE): This is the square root of the Mean Square Error. </li>\n",
    "    <li> R-squared is not error, but is a popular metric for accuracy of your model. It represents how close the data are to the fitted regression line. The higher the R-squared, the better the model fits your data. Best possible score is 1.0 and it can be negative (because the model can be arbitrarily worse).</li>\n",
    "</ul>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "button": false,
    "deletable": true,
    "new_sheet": false,
    "run_control": {
     "read_only": false
    },
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Mean absolute error: 24.33\n",
      "Residual sum of squares (MSE): 1037.62\n",
      "R2-score: 0.67\n"
     ]
    }
   ],
   "source": [
    "from sklearn.metrics import r2_score\n",
    "\n",
    "test_x = np.asanyarray(test[['ENGINESIZE']])\n",
    "test_y = np.asanyarray(test[['CO2EMISSIONS']])\n",
    "test_y_hat = regr.predict(test_x)\n",
    "\n",
    "print(\"Mean absolute error: %.2f\" % np.mean(np.absolute(test_y_hat - test_y)))\n",
    "print(\"Residual sum of squares (MSE): %.2f\" % np.mean((test_y_hat - test_y) ** 2))\n",
    "print(\"R2-score: %.2f\" % r2_score(test_y_hat , test_y) )"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "button": false,
    "deletable": true,
    "new_sheet": false,
    "run_control": {
     "read_only": false
    }
   },
   "source": [
    "<h2>Want to learn more?</h2>\n",
    "\n",
    "IBM SPSS Modeler is a comprehensive analytics platform that has many machine learning algorithms. It has been designed to bring predictive intelligence to decisions made by individuals, by groups, by systems – by your enterprise as a whole. A free trial is available through this course, available here: <a href=\"http://cocl.us/ML0101EN-SPSSModeler\">SPSS Modeler</a>\n",
    "\n",
    "Also, you can use Watson Studio to run these notebooks faster with bigger datasets. Watson Studio is IBM's leading cloud solution for data scientists, built by data scientists. With Jupyter notebooks, RStudio, Apache Spark and popular libraries pre-packaged in the cloud, Watson Studio enables data scientists to collaborate on their projects without having to install anything. Join the fast-growing community of Watson Studio users today with a free account at <a href=\"https://cocl.us/ML0101EN_DSX\">Watson Studio</a>\n",
    "\n",
    "<h3>Thanks for completing this lesson!</h3>\n",
    "\n",
    "<h4>Author:  <a href=\"https://ca.linkedin.com/in/saeedaghabozorgi\">Saeed Aghabozorgi</a></h4>\n",
    "<p><a href=\"https://ca.linkedin.com/in/saeedaghabozorgi\">Saeed Aghabozorgi</a>, PhD is a Data Scientist in IBM with a track record of developing enterprise level applications that substantially increases clients’ ability to turn data into actionable knowledge. He is a researcher in data mining field and expert in developing advanced analytic methods like machine learning and statistical modelling on large datasets.</p>\n",
    "\n",
    "<hr>\n",
    "\n",
    "<p>Copyright &copy; 2018 <a href=\"https://cocl.us/DX0108EN_CC\">Cognitive Class</a>. This notebook and its source code are released under the terms of the <a href=\"https://bigdatauniversity.com/mit-license/\">MIT License</a>.</p>"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python",
   "language": "python",
   "name": "conda-env-python-py"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.7"
  },
  "widgets": {
   "state": {},
   "version": "1.1.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
